数据库系统原理 基础内容

您所在的位置:网站首页 mysql 索引 原理 数据库系统原理 基础内容

数据库系统原理 基础内容

#数据库系统原理 基础内容| 来源: 网络整理| 查看: 265

最重要的三个知识内容: 1.索引(重点) 2.锁 3.事务与隔离级别

锁分为读锁 写锁 行锁 表锁 页锁

隔离级别 脏读 不可重复读 幻读

读未提交 ✓ ✓ ✓

读已提交 × ✓ ✓

可重复读 × × ✓

可串行化 × × ×

ACID四大特性:原子性,一致性,隔离性,持久性(用于保证事务是可靠的)

什么是索引,索引的好处与坏处

索引:一种排好序的快速查询的数据结构(索引往往以文件形式存储在磁盘上)

好处:1.提高数据检索效率,降低数据库的IO成本;

2.通过索引列对数据进行排序,降低数据排序成本,降低CPU的消耗;

3. 提高表与表之间的链接速度,提高group by分组效率。

坏处:1.占用物理空间大

2.对表进行插入、删除、修改等操作时,索引需要动态维护,所以会降低数据的维护速度。因为更新表时,不仅要保存数据,还要话费时间去建立和维护索引,而且会随着数据量的不断增加,维护成本也会不断加大。

如何建立一个索引:1.自动创建:通过约束,系统创建

2. 手动创建: create index index_name on

table_name(column_name)

索引结构 B+树的优点,为什么不用B树?

1.B树只适合随机检索,而B+树同时支持随机检索和顺序检索

2.B+树空间利用率更高。因为B+树的内部结点(非叶子结点,也称索引结点)不存储数据,只存储索引值,相比较B树,B+树一个结点可存储更多的索引值,使得整个B+树变得更矮,减少I/O次数,磁盘读写代价更低。

3.B+树查询效率更加稳定

4.B+树范围查询性能更优

5.B+树增删文件(结点)时效率更高

索引有哪些类型?

普通索引,唯一索引,主键索引,组合索引,全文索引

什么时候索引失效:or, is null, is not null, 不等于,条件类型不一致,表数据少

1.对列进行计算或者是使用函数,则改列的索引会失效

2.不匹配数据类型,会造成索引失效

3.where语句中使用了 IS NULL或者 IS NOT NULL会造成索引失效

4.使用了反向操作,该索引将不起作用

5. like查询以%开头

6.在WHERE中使用OR,有一个列没有索引,那么其他列的索引将不起作用

注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引

7.如果mysql估计使用全表扫描要比使用索引快,则不适用索引



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3